Cellular telephone data communication system and method

ABSTRACT

The cellular telephone data communication system and method involves the use of a mobile data processing interface and a cooperating static data processing interface to effectively transmit data over a cellular telephone system. Each data processing interface includes a processor which operates in the transmitting mode to add an error control correction data format to data received from an external data source. The data is divided into packets and provided to a modem which is uniquely operated to eliminate the action of the modem scramble system and to remain active in spite of a carrier signal loss. The modem is deactivated or disconnected by a disconnect signal from the processor, and when carrier signal loss occurs, this disconnect signal is provided only after the lapse of a delay period without the resumption of the carrier signal. The error control correction data format causes a receiver to evaluate the received data for error and to retransmit an acknowledgment signal for each acceptable packet of received data. In the absence of an acknowledgment signal, the processor will again provide a data packet to the modem for retransmission. Also, the processor will determine the frequency of error in the received data from the acknowledgment signals and subsequently adjust the data packet size in accordance with this error frequency.

This application is a Continuation of Ser. No. 07/930,251, filed Aug.17, 1992, now abandoned which was a divisional of U.S. patentapplication Ser. No. 07/414,468 filed Sep. 29, 1989 (now U.S. Pat. No.RE34,034 ) which is a reissue of U.S. Pat. No. 4,697,281 (applicationSer. No. 06/839,564, filed Mar. 14, 1986 ) which was acontinuation-in-part of U.S. patent application Ser. No. 06/786,641,filed Oct. 11, 1985 (now abandoned) which was a CIP of Ser. No.06/648,945, filed Sep. 10, 1984 (also abandoned).

The present invention incorporates a microfiche appendix with onemicrofiche having 75 frames.

TECHNICAL FIELD

The present invention relates to telephone data communications systemsgenerally, and more particularly to a data communication system which isadapted to effectively transmit a data stream over a cellular telephonenetwork.

BACKGROUND ART

Modern computer and telephone system technology have made thetransmission of computer originated data over conventional telephonelines a commonplace event. In such systems, a computer is connectedthrough a suitable interface, such an a RS 232 interface, to provideserial data signals to a conventional wire line modem. With modems ofthis type, when signal quality changes induce errors in the modem datastream, an ARQ (Automatic Repeat Request) or packet repeat scheme isconventionally employed for controlling these errors. This requires acomplete repeat of numerous bytes of data until such time as all of thebytes of data in the packet are received correctly. However, the lowfrequency of signal quality change induced errors in a wire lineenvironment makes this an efficient method of controlling error.

Current wire line modem technology provides a scrambled modulated signalto the telephone line which will not be interpreted by telephoneequipment as a valid switch command. To accomplish this, conventionalwire line modems are provided with a scrambler circuit which assuresthat the modulated signal is continuously changing. This changing signalis used by the modem PLL (Phase Locked Loop) circuitry to providesynchronization, for without this scramble modulated signal, a staticcondition of the modem will cause the PLL to loose synchronization andthe telephone equipment to interpret the static signal as a switchcommand.

Conventional telephone modems have operated effectively to interfacecomputers with a telephone system for data transmission, but thesemodems do not operate effectively to provide data transmission overconventional cellular telephone equipment. In a cellular telephonesystem, data transmission must occur to and from a moving vehicle whichmay be passing between zones or cells in the system. For example, a citywith cellular service is divided into a plurality of adjoininggeographic cells, each of which has its own transmit/receive antennacontrolled by a mobile switching office. For conventional cellulartelephone voice communication, an automobile travelling through a citypasses from cell to cell, and the signal is transferred from antenna toantenna. This transfer process interrupts communications for a briefperiod, normally a fraction of a second, and does not cause a problemfor voice communication. However, for data communications, this“hand-off” process results in significant problem if conventional wireline modems are used.

A wire line modem for use with normal telephone equipment willdisconnect upon experiencing a carrier signal loss. Thus, such a modem,when used with a cellular telephone system, will disconnect each timethe vehicle in which the modem is mounted travels between cells, forsome carrier loss will always be experienced when the radio signal usedfor cellular telephone communication is switched between the low powertransmission stations of adjacent cells.

In the cellular telephone environment, numerous errors are induced intodata transmission because of the problems associated with cellulartelephone communication. Echo and fading problems cause multiple biterrors in the data stream, and such problems occur frequently with amoving vehicle. For example, the transmitted signal may hit a buildingor other obstacle and bounce erratically or fade as the vehicle isshielded from the cell antenna. This high frequency of error in the datastream transmitted by cellular transmission renders the error correctionprotocol present in conventional wire line modems unsuitable forcellular use. Errors occur so frequently in a cellular environment thatthe number of repeat requests becomes large and data transmissionefficiency is reduced below an acceptable amount. In some instances,errors may occur so often that a correct packet may never be received.Thus, the error correction protocol present in conventional telephonemodems is unable to cope with the problems presented in a cellularenvironment.

Finally, as previously indicated, the conventional wire line telephonemodem incorporates scrambler circuitry to ensure that the modulatedsignal is continuously changing to provide synchronization for the modemPLL circuitry. However, such scramblers employ a polynomial which hasthe effect of increasing the number of bit errors received. If a singlebit error occurs during the transmission of data that single bit errorwill be presented when received, but in addition, that error willpropagate through the scrambler polynomial and later cause twoadditional errors in the received data presented to the user. Theseerrors, coupled with those normally inherent with a cellular telephonesystem, will completely overwhelm the error correction circuitry presentin a conventional modem.

In the past, systems have been developed for communicating data betweena plurality of geographical zones and a host computer by means ofportable radios. Such systems are disclosed in U.S. Pat. Nos. 4,525,861and 4,545,071 to Thomas A. Freeburg. Although these patented systemseffectively provide data communications from a host computer throughouta geographical area divided into zones, they do not address the problemspresented by hand-off or echoing and fading in a cellular telephonesystem.

DISCLOSURE OF THE INVENTION

It is a primary object of the present invention to provide a novel andimproved method and apparatus for transmitting data signals over acellular telephone system.

Another object of the present invention is to provide a novel andimproved method for transmitting data over a cellular telephone systemby means of a modem connected to the cellular telephone system. Themodem is maintained in the activated state for a predetermined timeperiod after a loss of the system carrier signal before it is permittedto deactivate and is caused to remain in the activated state after theloss of the carrier signal if the carrier signal resumes within thepredetermined time period.

A further object of the present invention is to provide a novel andimproved method for transmitting data over a cellular telephone systemby means of a modem connected to the cellular telephone system whichincludes adding error control correction data to the data signal beforeproviding the data signal to the modem.

Yet another object of the present invention is to provide a novel andimproved method for transmitting data over a cellular telephone systemby means of a modem connected to the cellular telephone system whichincludes repetitively providing a unique data byte to said modem duringa break in the data signal to the modem.

A further object of the present invention is to provide a novel andimproved method for transmitting data over a cellular telephone systemby means of a modem connected to the cellular telephone system whichincludes adding error control correction data to a data signal before itis provided to the modem and the removing said error control correctionsignal from the data signal at the receiver before the data signal isprovided to a receiver use device.

Yet another object of the present invention is to provide a novel andimproved method for transmitting data over a cellular telephone systemby means of a modem connected to the cellular telephone system whichincludes providing no scrambler polynomial in the modem, but insteadadding error control correction data to the data signal before providingsaid data signal to the modem. This error control correction signalconsists of a sliding packet ARQ wherein the packet size changes orslides based on the transmission quality of the transmission. The packetsize is increased for a good transmission signal and decreased for a badtransmission signal. This is combined with a forward error correctionsignal.

Another object of the present invention is to provide a novel andimproved cellular telephone data communication system for transmittingdata from a computer over a cellular telephone unit. This systemincludes a microprocessor which is connected between the computer and aspecial cellular telephone modem to control the operation of the modem.The microprocessor prevents modem disconnect upon the loss of a carriersignal for periods less than a predetermined disconnect period.

A further object of the present invention is to provide a novel andimproved cellular telephone data communication system for providingcommunication over a cellular telephone network between a portablecomputer and a computer connected to conventional telephone lines by useof unique modems. The portable computer is connected to a modemmaintained in a unique state for cellular transmission by means of amicroprocessor which controls the operation of the modem. Themicroprocessor adds error control correction data to a data signal fromthe computer before the data signal is provided to the modem. The datasignal with the modulated error control correction data is provided bythe modem to a cellular telephone transceiver which transmits the datato a receiving system capable of retransmitting the data overconventional telephone lines. At the central computer, a unique modemand microprocessor combination receives the data and removes the errorcorrection control signals therefrom before providing the data signal toa use device.

Yet another object of the present invention is to provide a novel andimproved cellular telephone data communication system for transmittingdata from a computer over a cellular telephone unit. A microprocessorconnected between the computer and a unique cellular modem senses astatic condition of the modem and provides a repetitive synchronizationbyte to the cellular modem during a break in the data stream thereto.

A further object of the present invention is to provide a novel andimproved cellular telephone data communication system for transmittingdata from a computer over a cellular telephone network whichincorporates a mobile data programming interface adapted to operate witha static data programming interface. Both such interfaces operate toeither transmit or receive data and cooperate with an associatedexternal computer used to provide a stream of data to be transmitted.Each interface includes a microprocessor which is programmed to adaptthe transmitted data to the high error frequency prevalent in thecellular telephone environment and to control a modem operating in aunique mode for cellular transmission.

A still further object of the present invention is to provide a noveland improved cellular telephone data communication system fortransmitting data from a computer over a cellular telephone networkwhich incorporates a mobile data programming interface adapted tooperate with a static data programming interface to overcome the effectsof signal error causing factors in the cellular telephone systemenvironment. The transmitting interface adds an error detection andcorrection format to the data signal and the receiving interface removesthis format from a received data signal which is sent to a use device.The receiving interface responds to the error detection and correctionportion of the received signal to check the data for error and to eitheracknowledge receipt of acceptable data or to provide an error indicationto the transmitting interface by withholding the acknowledgment. Thetransmitting interface evaluates the errors in the received data streamand varies a data packet repeat size for subsequently transmitted data.Also the transmitting interface retransmits previously transmitted datawhich was found to be erroneous at the receiving interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the cellular telephone data communicationsystem of the present invention;

FIG. 2 is a diagram illustrating a manner in which the data signal to betransmitted by the cellular telephone data communication system of thepresent invention is modified to provide an error detection andcorrection capability;

FIG. 3 is a flow chart showing the control functions of themicroprocessor for a transmitting interface of the cellular telephonedata communication system of the present invention; and

FIG. 4 is a flow chart showing the data processing function of themicroprocessor for a transmitting interface of the cellular telephonedata communication system of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

The system for transmitting data over a cellular telephone network ofthe present invention is indicated generally at 10 in FIG. 1. A vehiclemounted mobile cellular telephone system conventionally includes atransceiver 12 which transmits or receives voice signals in the radiofrequency range by means of an antenna 14. Voice signals transmitted bythe antenna 14 are received by an antenna 16 connected to a transceiver18 located in a specific cell area of the cellular telephone network.The transceiver 18 is connected to cellular land line equipment 20 whichis operative to transmit the received signal over conventional telephonelines 22. Voice signals from the telephone lines 22 may also betransmitted by the transceiver 18 and the antenna 16 back to the antenna14 to be provided by the transceiver 12 to a conventional mobilecellular telephone unit. The transceiver 12 is controlled by a cellulartelephone system control unit 24 which is connected to the transceiverby means of a cellular telephone bus 26. The cellular bus 26, forpurposes of description, may be one which meets the AMPS (AdvancedMobile Phone Service) specifications determined by the FederalCommunications Commission during test of the cellular system in Chicago.These specifications indicate that control signals between thetransceiver 12 and the control unit 24 should be on an eight bitparallel party line bus and that the analog signals should be adifferential signal with a nominal −20 dbV level using a 24 wireinterconnecting cable. A very complete description of the AMPS system isprovided in “The Bell System Technical Journal”, 1979, Vol. 58, No. 1,pp 1-269.

To this point, the cellular telephone system with which the presentinvention is combined is a conventional cellular telephone system, andthe mobile portion of this system is connected to the mobile dataprogramming interface 28 of the present invention. This mobile dataprogramming interface includes a cellular interface 30 which renders theremainder of the mobile data programming interface compatible with thecellular bus 26 of a particular cellular telephone system. For example,with AMPS compatible cellular telephones, the cellular interface 30would consist of an eight bit parallel I/O, port party line drivers andreceivers, operational amplifiers providing differential driving andreceiving analog conversion between the −20 dbV signal on the cellularbus and the defined levels required by an analog switch and conditioningsystem 32 for the mobile data programming interface. Cellular interfacesof this type are known, commercially available items, as exemplified bycellular interfaces sold by Motorola Corporation of Schaumberg, Ill. orOki of Japan.

The analog switch and conditioning system 32 is implemented usingcurrently known switching technology. The system may incorporate CMOSanalog switches operative in response to microprocessor generatedcontrol signals to switch the state of signal processing operationalamplifiers. Basically, this analog switch and conditioning systemoperates to selectively connect various components of the mobile dataprocessing interface to the cellular interface 30 in a manner to bedescribed in greater detail.

The heart of the mobile data programming interface is a microprocessor34 which provides control functions for the cellular interface 30 andanalog switch and conditioning system 32 as well as for other portionsof the mobile data programming interface to be described. Thismicroprocessor may be a conventional 8/16 bit microprocessor, such asthe Intel 8088 manufactured by Intel Corporation. The microprocessorincludes random access (RAM) and read only (ROM) memory storage systemswhich contain the control and data error programs necessary to adaptcomputer data for cellular telephone transmission. The use of a separatemicroprocessor in the mobile data processing interface frees the limitedmemory which is normally available in portable computers for other uses.

A serial data stream is provided to the microprocessor 34 from anexternal portable computer 36 by means of a conventional RS 232interface 38 included within the mobile data programming interface. Datareceived by the microprocessor from the portable computer 36 is providedwith unique error correction signal information in the microprocessorbefore being provided to a modem 40.

The modem 40 may be one of a number of conventional modems used fortelephone wire line transmission which has test mode capabilities fordeactivating certain modem functions. A particular commerciallyavailable modem suitable for use as the modem 40 is the AMI 3530 modemmanufactured by Gould Advanced Semiconductors of 3800 Hemstead Road,Santa Clara, Calif. Modems of this type, when employed for datatransmission over conventional telephone lines will disconnectimmediately in response to a carrier loss. When such modems sense achannel blanked status occasioned by a carrier loss, they provide a“break bit” output and disconnect. Also, for normal use such modemsinclude a scrambler system which assures that the data modulated signalis continuously changing, and this signal change is used by the modemPLL circuitry to provide synchronization. A non-scrambled modulatedsignal may be interpreted by the telephone operating equipment as avalid switch command, and this is particularly true when the modem is inthe static condition. Normally the scrambler system in the modemprevents this static condition where loss of synchronization by the PLLor the interpretation of the static signal as a switch command is mostlikely to occur. However, modems such as the AMI 3530 incorporate a testmode of operation wherein the modem is prevented from disconnecting inresponse to carrier loss and wherein the modem scrambler can bedeactivated or defeated. Normally, such modems would be incapable ofeffective operation in this test mode, but it is the availability ofthis test mode that renders modems of this type suitable for use as themodem 40.

The data stream from the microprocessor 34, which has been provided withunique error correction data by the microprocessor, is transmitted bythe modem 40 through the analog switch 32 and cellular interface 30 tothe transceiver 12. This data is then transmitted as a radio frequencysignal by the antenna 14 to the antenna 16, where it is converted by thetransceiver 18 and cellular land line equipment 20 to a signal suitablefor transmission over conventional telephone lines 22. These telephonelines connect the signal to the second portion of the cellulartransmission system of the present invention which is a static dataprogramming interface 42 operative to pass data signals to and from thetelephone line 22. The data signals which are passed to the telephoneline originate at a host computer 44 which cooperates with the staticdata programming interface in a manner similar to the operation of theportable computer 36 with the mobile data programming interface 28.

For transmission purposes, the computer 44 provides data to an RS 232interface 46 which in turn provides the data to a microprocessor 43.This microprocessor is identical in construction and function to themicroprocessor 34, and is programmed with the same control and errorcorrection and other programming. The microprocessor 48 adds errorcorrection and control signals to the data provided from the RS 232interface, and then provides the modified data stream to a modem 50. Themodem 50 is identical in construction and function to the modem 40, andoperates to transmit the data stream by means of an analog switch andconditioning system 52 to a conventional FCC interface 54. The FCCinterface provides the data stream to the telephone lines 22 where theyare sent by means of the cellular land line equipment 20 to thetransceiver 18. The data is then transmitted to the transceiver 12 whichprovides it by means of the cellular interface 30 and the analog switch32 to the microprocessor 34. The microprocessor then removes the errorcorrection and control signals from the data stream and provides thedata through the RS 232 interface 38 for display and use by the portablecomputer 36.

The static data programming interface 42 receives data transmitted overthe cellular telephone line, and this incoming data from the FCCinterface 54 is fed by means of the analog switch 52 to themicroprocessor 48. Here the error and control signals are removed fromthe data and the data is then displayed and/or used by the computer 44.It will be noted that the static data programming interface 42 and themobile data programming interface 28 are substantially identical instructure and operation with the exception that the static dataprogramming interface is connected to telephone lines by an FCCinterface while the mobile data programming interface is connected to acellular telephone system by a cellular interface. Also, the mobile dataprogramming interface may be powered from a vehicle battery 60 whichoperates through a conventional power converter 62 to provide power to apower bus 64. This power bus 64 is connected to provide power to all ofthe operating units in the mobile data programming interface 28 and mayalso be connected to provide power to the portable computer 36. Thestatic data programming interface 42 includes a similar power bus, notshown, which is connected to any conventional power supply such as thepower supply in a building containing the computer 44.

Although the mobile data programming interface 28 and the static dataprograming interface 42 must communicate with one another to effectivelytransmit data over a cellular telephone system, both of these units canalso transmit and receive conventional cellular telephone audiotransmissions. The mobile data programming interface 28 includes atelephone interface 66 which may be connected to an externaltelephone-like handset 68 and which operates in conventional mannerthrough the analog switch and conditioning system 32 and cellularinterface 30 to transmit and receive audio communications by means ofthe transceiver 12. In a similar runner, the static data programminginterface 42 includes a telephone interface 70 which may be connected toan external telephone to transmit and receive audio signals through thetelephone interface, the analog switch 52 and the FCC interface 54.Thus, both the mobile data programming interface 28 and the static dataprogramming interface 42 are adapted for normal audio communication.Like the mobile data programming interface, the static data programminginterface includes a control and display section 72 which is connectedto the microprocessor 48 and which operates to receive data from whichthe microprocessor has extracted the control and error signals.

Both the mobile data programming interface 28 and the static dataprogramming interface 42 will operate with optional equipment, and anoptional equipment block 74 is shown for the mobile data programminginterface in FIG. 1. This optional equipment might include other modems,a microphone which may be employed to provide audio communication inplace of the cellular phone 68, and various memory and encryptingdevices known to the art to accomplish automatic dialing and similarfunctions.

Before considering in detail the operation of the mobile dataprogramming interface 28 and the static data programming interface 42,it is necessary to understand the manner in which the microprocessor 34and modem 40 and the microprocessor 48 and modem 50 cooperate to adapt adata signal for cellular telephone transmission. With reference to FIG.2, there is diagramatically illustrated a data document 76 to betransmitted which has originated with the portable computer 36. Thisdata document is divided, by the microprocessor 34, into a plurality ofpackets 78, and for purposes of illustration in FIG. 2, four packets ofequal size are shown. In actuality, a document would be divided intomany more packets which would not necessarily be of equal size. Further,each packet is divided by the microprocessor 34 into a plurality ofwords, and for purposes of illustration in FIG. 2, each packet 78includes two words 80. Again, a packet would normally contain many morethan two words, but two are shown for purposes of illustration. Eachword in a packet includes three bytes a, b, and c, and themicroprocessor 34 will determine whether the word is a control word or adata word. When the word is a data word, then bytes a and b will be databytes, while byte c is a forward error correction (FEC) byte.Conversely, if the word is a control word, byte a will be the controlword signifier, byte b will be the control word descriptor and again,byte c will be the FEC byte. Thus it will be noted that byte c is alwaysthe FEC byte for both data and control word.

Data words are always synchronous with the packet stream, while controlwords may or may not be asynchronous to data. An example of anasynchronous control word would be an acknowledgement word, while anexample of a synchronous control word would be the packet “end” wordwhich is the last word in every packet. Synchronous control words areadded into the cyclic redundancy check (CRC) which is included in thepacket “end” word, while asynchronous control words do not affect theCRC of a packet. An exemplary form for an asynchronous control word, forexample, the acknowledgement word, would be a control word signifier forbyte a, the packet number for byte b, and byte c, the FEC byte. On theother hand, an example of a synchronous control word, such as the packet“end word”, would be a control word signifier for byte a, a CRC byte forbyte b and the FEC byte as byte c. A control word synchronous to thepacket indicates that byte b is a data rather than a control byte.

The FEC byte causes the receiving microprocessor to check the data bytesin a data word and determine whether or not an error exists in thatword. If an error is detected, the microprocessor 48 will use the FECbyte to correct the word at reception. However, if a predetermined errorlevel in any word within a packet is exceeded, an acknowledgment signalfor the packet will not be transmitted back to the transmittingmicroprocessor, thereby causing this microprocessor to retransmit theentire packet. For example, the predetermined error level could be aspecified number of bits per word, for example 2 bits. Correction wouldoccur for any error of 2 bits or less, but an error in excess of 2 bitswould result in no acknowledgment being transmitted for the packet.

The microprocessor unit 48 operates in a manner identical to that of themicroprocessor 34 to form data packets with control and data words totransmit data provided from the computer 44, and the microprocessor 34operates in the receiving mode to check the data byte and passacceptable data onto the computer 36. If the transmitting microprocessor48 or 34 does not receive acknowledgement signals back from thereceiving microprocessor, correction, or other procedures to bedescribed, are initiated by the transmitting microprocessor.

Referring back to FIG. 2, if the receiving microprocessor, in thisexample the microprocessor 48, examines a received data word anddiscovers an error in excess of the predetermined error level, it willnot transmit a packet acknowledgement signal to the microprocessor 34.The transmitting microprocessor 34 will, by the lack of acknowledgmentsignals, be informed of excess error in a data packet 78, and willoperate to retransmit this packet until the data is received in asubstantially error-free or at least a correctable condition. To thispoint, the transmission of the data package has occured in much the samemanner as does the transmission of a data stream over a telephone wire.However, in the telephone wire environment, the error frequency is notas great as that experienced with cellular telephone transmissionsystems, and consequently, a uniform packet repeat process for errorcorrection is acceptable for wire line data transmission. This is notthe case for cellular telephone transmission, because the high errorfrequency might well cause multiple packet repeats to such an extentthat no transmission would ever occur. Consequently, the transmittingmicroprocessor of the present invention is programmed with an errorcorrection capability which involves a sliding packet size. This packetsize is changed in accordance with transmission quality determined bythe transmitting microprocessor on the basis of an evaluation of theerror frequency in signals received from previously transmitted data.The receiving microprocessor transmits a data stream to the transmittingmicroprocessor from which this evaluation is made. The packet size isincreased for a good transmission signal and decreased for a badtransmission signal, so that in a high error situation, theretransmitted packet is of minimum size. The transmitting microprocessoris continuously evaluating the number of errors in the data stream itreceives from the receiving microprocessor, and is adjusting the packetsize of subsequent transmissions in accordance with this evaluated errordata. Thus, as illustrated by FIG. 2, the packet size 78 might beincreased during the transmission period by the transmittingmicroprocessor to a much larger packet size 82 when transmission errorsare minimal, or, conversely, the transmitting microprocessor mightdecrease the packet size to a much smaller packet size 54 astransmission errors increase.

In the transmission mode, both the microprocessors 34 and 48 provide asliding packet ARQ wherein the packet size changes or slides based onthe transmission quality. In a high error situation, the packet sizebecomes smaller and the time required to repeat a packet containingerror is lessened. Consequently, in a cellular transmission situationwhere errors are occurring frequently, a packet of reduced sizecontaining corrected data may be received, while if the packet remainedof greater size, numerous bytes of data would have to be retransmitteduntil all bytes of data in the packet are received correctly. This wouldreduce data transmission efficiency, or in extremely high errorsituations, prevent the reception of a correct packet.

The microprocessors 34 and 48 maintain the modems 40 and 50 on line inthe event of a carrier signal loss during data transmission. Aspreviously indicated, such a carrier transmission loss occurs when thevehicle bearing the mobile data programming interface 28 passes betweencells in a cellular telephone system. The modems 40 and 50 are operatednormally in the test mode or a similar mode which prevents the modemfrom automatically disconnecting in response to a carrier signal loss.Instead, the modem is not permitted to disconnect until it receives adisconnect signal from the respective microprocessor 34 or 48. Thismicroprocessor, which has been sending or receiving data, senses thecarrier signal loss when it receives a “break bit” from the associatedmodem, and therefore, the microprocessor recognizes a carrier loss andinitiates a time delay period before permitting the modem to disconnect.Generally, the hand-off period between cells of a cellular telephonesystem causes less than a one-second carrier signal loss, andconsequently, the delay initiated by the microprocessor in response to acarrier loss may be anywhere within the range of from two to sevenseconds. This delay period is sufficient to permit reestablishment ofthe carrier signal when the loss of carrier is occasioned by travelbetween cells. By never allowing a carrier loss to cause modemdisconnect during this predetermined time delay period, the time neededfor the modem to reestablish data transmission after the carrier lossterminates is decreased, thereby improving overall efficiency. Thus, ifthe carrier loss terminates during the predetermined time period set bythe microprocessor, modem disconnect does not occur. On the other hand,the microprocessor will instruct the modem to disconnect when the datatransmission is ended by the microprocessor, when the cellular telephonecall is completed, as sensed by the cellular interface 30 or the FCCinterface 54 and transmitted to the microprocessor, or when the delayperiod set by the microprocessor expires.

The modems 40 and 50 are not only used in the test mode to disable thenormal modem disconnect circuitry, but also are used in a mode whichdisables the modem scrambler circuitry. It is important for effectivecellular data transmission to prevent the scrambler polynomial fromincreasing the number of bit errors received, for these additionalerrors further reduce the effectiveness of the error correction scheme.However, with the scrambler defeated, the synchronization of the modemPLL circuitry is no longer provided and the non-scrambled modulatedsignal may be interpreted by the telephone company equipment as a validswitch command. Both of these problems are solved by the cooperationbetween the modem and its associated microprocessor. Considering themicroprocessor 34 to be the transmitting microprocessor, all data sentby the modem 40 is first presented to the modem by the microprocessor.The microprocessor is programmed to ensure that the data signal providedto the modem has enough changing signals to keep the modem PLL insynchronization and to prevent the telephone switching equipment fromassuming the signal is a valid switching command. It must be recognized,however, that data is not always sent by the modem 40 in a continuousstream, and that the modem is often in a static condition. It is whenthe modem is in this static condition that the modem PLL may losesynchronization or that the telephone equipment may interpret the staticcondition as a switch command. Normally, the modem scrambler wouldprevent this static condition, but in the present circuit, thetransmitting microprocessor knows when the last data byte was presentedto the modem and what the transmission rate of the modem is. With thisinformation, the microprocessor determines when the modem is in a staticcondition, and immediately initiates the presentation of a unique byteof data to the modem. This unique byte is repeatedly presented untildata is again available for transmission, or, in the alternative, untilthe modem is shut down. The characteristics of this unique byte,hereinafter known as the synch byte, are such that the bit stream isalways changing, and the receiving modem recognizes this byte as a synchbyte and not a valid data byte. These two conditions can be met by manydifferent bytes, and the choice of which one to use is arbitrary.

Since the structure and operation of the mobile data programminginterface 28 and the static data programming interface 42 aresubstantially the same, it will be recognized that both operate in thesame manner to either transmit or receive data. Therefore, for purposesof description, the mobile data programming interface 28 will herein bedescribed in connection with the transmission of data and the staticdata programming interface 42 will be described in connection with thereception of such data, but it must be noted that the roles can bereversed.

Referring now to FIG. 3, there is illustrated a flow chart including thebasic process steps used by the microprocessor 34 in transmitting a datasignal over the cellular telephone system. The coding of the processsteps of this flow chart into the instructions suitable to control themicroprocessor 34 will be understandable to one having ordinary skill inthe art of programming, and is illustrated in detail in the appendixedmicrofiche program. The flow chart of FIG. 3 is begun at start block 86,and the microprocessor 34 is adapted to receive dialing instructions asindicated by block 88 which originate at the portable computer 36 orfrom some other source. These instructions command the microprocessor toconnect the system to a designated telephone number (123-4567) and thereceived instructions are stored in the microprocessor as shown by block90. In response to the instructions, the microprocessor then operates tocause the analog switch and conditioning system 32 to complete aninstruction path to the cellular interface 30 as taught at 94. With thispath completed, the microprocessor operates at 96 to transmit the storedcall control signals to the cellular interface with the instructions tocause the cellular interface to send the eight bit parallel controlsignals required to dial the phone number 123-4567. As a first step inthis transmission, the microprocessor checks the state of the cellularbus data lines. If the data lines are in use, the microprocessor entersa loop or waiting mode and does not actuate the AMPS interface andtransmit the call control signals to the cellular bus until the datalines are not in use. When the data lines are not in use, themicroprocessor will actuate the AMPS interface and transmit the callcontrol signals to the cellular transceiver via the cellular bus. Themethod by which this first transmission step is implemented will beapparent to those skilled in the art on review of the commented sourcecode implementing this step (located in the “dial.num” routine which ispart of the BRIDGSUB routine) in the microfiche Software Appendix. Themicroprocessor then waits for the call to be answered, and if this doesnot occur, the NO branch is taken from the decision block 99 to block100 to exit from the flow chart in FIG. 3. However, if the call isanswered, the YES branch is taken from the decision block 98 to block102, where the microprocessor 34 instructs the analog switch andconditioning system 32 to switch the signal path from the cellularinterface to the modem 40. Subsequently, at block 104, the modem isinstructed to transmit data received by the microprocessor.

The specific control functions of the microprocessor 34 during thetransmission of a data stream are illustrated in greater detail in FIG.4, and for purposes of this description, the data transmission ismonitored as indicated by the decision block 106. As long as data isbeing transmitted through the microprocessor 34, the NO branch of thedecision block 106 takes the decision to the block 104 to continue thetransmission of data. However, once data transmission is finished, theYES branch of the decision block 106 is taken to the modem disconnectblock 108 where the microprocessor instructs the modem to terminate itsfunction. Then the analog switch and conditioning system 32 isinstructed, as indicated by the block 110, to disconnect the pathbetween the modem and the cellular interface and to reconnect themicroprocessor which, at 112, instructs the cellular interface to hangup the telephone and terminate the call before exiting at 114.

Referring now to FIG. 4, a flow diagram is provided to illustrate indetail the operation of the microprocessor 34 during the block shown at104 in FIG. 3 when data transmission is occuring. Again, the coding ofthe process steps used by the microprocessor 34 into the instructionssuitable to control the microprocessor will be understood by one havingordinary skill in the art and are fully illustrated by the appendixedprogram.

Entering the flow chart at a start block 116, a data stream provided bythe portable computer 36 through the RS 232 interface 38 is received bythe microprocessor 32 as indicated by the block 118. Next, the datasignal is modulated with the error detection and correction and othercontrol bytes described in connection with FIG. 2, as illustrated by theblock 120 and the modulated data stream is stored at 122. The data isthen transmitted to the modem at 124, and the modem provides the data tothe cellular interface for transmission. As previously indicated, themicroprocessor provides the data to the modem in a modulated signalwhich has enough changing signals to keep the modem PLL insynchronization. However, during the operation of the modem, themicroprocessor monitors the data and modem operation to make sure thatthe modem is not static. The microprocessor uses the transmission rateof the modem and the time when the last data byte was presented todetermine when the modem is in a static condition, and as indicated bythe decision block 126, when the modem is static, the YES line to theblock 128 shows that a repetitive synch byte is generated which istransmitted to the modem.

When the modem is not in the static condition, the NO line from thedecision block 126 to the block 130 indicates that the microprocessorwaits for the receipt of acknowledgment signals from the receivingmicroprocessor 48 for each word and packet of data transmitted. In theevent of a loss of carrier signals, the microprocessors 32 and 48respond to a “break bit” from the modem and initiate a time clock beforepermitting modem disconnect. As indicated by the decision block 132,when the awaited carrier signals are totally missing for a time t whichis equal to or greater than a predetermined time x, the YES line to amodem disconnect block 134 is followed. At this point, the sameoperation which has occured with the blocks 108, 110, 112 and 114 inFIG. 3 occurs, and the modem is disconnected from the cellularinterface. The cellular interface is reconnected to the microprocessorat 136 which instructs the cellular interface to perform a hang-upoperation before exiting at 140.

On the other hand, if the time when no carrier signals are received isless than the predetermined delay time period x, then the NO line fromthe decision block 132 to a data error frequency determination block 142becomes relevant. Here, the frequency of data errors at the receivingdata microprocessor 48 is determined and employed at block 144 to adjustthe EDC packet to provide larger or smaller packets in the mannerdescribed in connection with FIG. 2. Then this portion of the program isexited at 146.

The operation of the microprocessors 32 and 48 during the reception ofdata, evaluation of data errors and transmission of acknowledgmentsignals has been fully described previously. Since this operation issimilar to that which occurs with wire line and other data transmissionsystems, it will be readily understood by those having ordinary skill inthe art, and the instructions for the microprocessors are disclosed indetail by the appendixed program.

INDUSTRIAL APPLICABILITY

The cellular telephone data communication system of the presentinvention provides a cooperating mobile data programming interface andstatic data programming interface which operate together to perform thefunctions necessary to control errors in an efficient way to permit datatransmission in the limited voice band available when using cellulartelephone technology. Since both interfaces incorporate a microprocessorwith independent firmware storage capabilities, a flexible system isprovided wherein various computer control devices can execute thefunctions provided by a cellular telephone system. At the same time, theunit permits the cellular telephone system to be employed for theconventional audio transmissions which the system was designed tohandle.

I claim:
 1. A method for transmitting data from a transmitting stationover a cellular telephone system to a receiving station by means of amodem connected to said cellular telephone system which is operative inan activated state to modulate a carrier signal for said cellulartelephone system with a data signal, said method including the steps ofplacing said modem in the activated state, providing a data signal tosaid activated modem, maintaining said modem in the activated state fora predetermined time period after a loss of said carrier signal beforepermitting said modem to deactivate, and causing said modem to remain insaid activated state after the loss of said carrier signal if saidcarrier signal resumes within said predetermined time period.
 2. Themethod of claim 1 which includes adding an error control correction dataformat to said data signal before providing said data signal to saidmodem.
 3. A method of claim 1 which includes repetitively providing aunique data byte to said modem during a break in said data signal. 4.The method of claim 2 wherein the addition of said error controlcorrection format involves dividing data to be transmitted into aplurality of data packets, each data packet including a plurality ofdata words, the number of data words in a data packet determining thesize of the data packet, providing said data signal to said modem fortransmission to said receiving station, examining the data words in eachreceived data packet at the receiving station for error and determiningwhich data words are acceptable, transmitting an acknowledgment signalto the transmitting station for each acceptable data word, determiningfrom the transmitted acknowledgement signals which data packets werereceived with unacceptable errors and retransmitting said unacceptabledata packets, and determining the frequency of error in said receiveddata packets from said acknowledgment signals and adjusting the size ofsubsequent data packets to be transmitted in accordance with said errorfrequency.
 5. The method of claim 4 which includes decreasing the sizeof subsequent data packets to be transmitted as the frequency of errorin received data packets increases and increasing the packet size ofsubsequent data packets to be transmitted as the frequency of error inreceived data packets decreases.
 6. The method of claim 4 which includessensing a complete loss of said carrier signal for a predeterminedperiod at said transmitting station and initiating said predeterminedtime period in response to said loss to maintain said modem in theactivated state.
 7. The method of claim 6 which includes causing saidmodem to disconnect and terminate transmission to said receiving stationof all data packets if the signal is not resumed within saidpredetermined time period.
 8. The method of claim 7 which includesoperating said modem without a scrambler polynomial and continuouslychanging said data signal provided to said modem for modemsynchronization.
 9. The method of claim 8 which includes repetitivelyproviding a unique data byte to said modem during a break in said datasignal to prevent the modem from entering a static condition.
 10. Amethod for transmitting data between a transmitting station and areceiving station which includes dividing data to be transmitted into aplurality of data packets, each data packet including a plurality ofdata words, the number of data words in a data packet determining thesize of the data packet, transmitting said data packets to the receivingstation, examining the data words in each received data packet for errorand determining which data words are acceptable, transmitting anacknowledgment signal to the transmitting station for each acceptabledata word, determining from the transmitted acknowledgment signals whichdata packets were received with unacceptable errors and retransmittingsaid unacceptable data packets, and determining the frequency of errorin said received data packets from said acknowledgment signals andadjusting the size of subsequent data packets to be transmitted inaccordance with said error frequency.
 11. The method of claim 10 whichincludes decreasing the size of subsequent data packets to betransmitted as the frequency of error in received data packets increasesand increasing the packet size of subsequent data packets to betransmitted as the frequency of error in received data packets decrease.12. A signal processing interface for communicating data from a datasource over a cellular telephone system to a receiving means via acellular telephone radio carrier signal comprising processing meansconnected to receive data from said data source, said processing meansoperating to form said data into a data signal format to be transmittedas a data signal, the data signal format including blocks of data, atleast one acknowledgement signal to be retransmitted by said receivingmeans back to said processing means upon receipt of each of said datablocks, cellular telephone transmission means operative upon receipt ofsaid data signal format to transmit sad data signal to said receivingmeans, and modem means connected to said signal processing means andsaid cellular telephone transmission means and operative to receive saiddata signal containing said data signal format from said processingmeans and to provide said data signal for transmission to said cellulartelephone transmission means, said modem means being operative todisconnect from said cellular telephone transmission means in responseto a disconnect signal and inoperative to disconnect in response to aloss of said cellular telephone radio carrier signal, said processingmeans operating to provide a disconnect signal to said modem means whena delay period subsequent to a loss of said cellular telephone radiocarrier signal has elapsed without the resumption of said cellulartelephone radio carrier signal.
 13. The signal processing interface ofclaim 12 wherein said modem means operates without a scramblerpolynomial, said processing means operating to continuously change saiddata signal to provide synchronization for said modem means.
 14. Thesignal processing interface of claim 13 wherein said processing meansoperates in response to a break in said data to repetitively provide aunique data byte to said modem means for the duration of said break inthe data.
 15. A cellular telephone data communication system forcommunicating data from a data source over a cellular telephone systemhaving a mobile transceiver unit operative to transmit and receivecellular telephone signals and a plurality of fixed transceiver unitsconnected to transmit signals over a conventional telephone line systemcomprising a mobile signal processing interface means connected to saidmobile transceiver unit and operative to communicate data from a datasource to said mobile transceiver unit for transmission via a cellulartelephone radio carrier signal or to receive a transmitted data signalfrom said mobile transceiver unit, and a static signal processinginterface means connected to said conventional telephone line system andoperative to communicate data from a data source over said conventionaltelephone line system to one of said fixed transceiver units fortransmission via a cellular telephone radio carrier signal to saidmobile unit or to receive a transmitted data signal via saidconventional telephone line system, each said mobile signal processinginterface means and static signal processing interface means beingoperative in a transmitting or receiving mode while the other operatesin the opposite mode and each including signal processing and controlmeans connected to receive data from a respective data source in thetransmitting mode, said signal processing and control means also beingoperative in the receiving mode to receive a data signal from theassociated mobile transceiver unit or associated conventional telephoneline system, and modem means connected to said signal processing andcontrol means, the signal processing and control means of the mobile orstatic signal processing interface means operating in the transmittingmode being operative to receive data from the associated data source andto form said data into a data signal format to be transmitted as a datasignal to the modem means connected thereto, said modem means beingoperative to disconnect in response to a disconnect control signal andinoperative to disconnect in response to a loss of said cellulartelephone radio carrier signal, the signal processing and control meansoperating to provide a disconnect control signal to the modem meansconnected thereto when a delay period subsequent to a loss of said radiocarrier signal has elapsed without the resumption of said telephoneradio carrier signal.
 16. The cellular telephone data communicationsystem of claim 15 wherein the data signal format is formed by thesignal processing and control means for the mobile or static signalprocessing interface means operating in the transmitting mode bydividing data to be transmitted into a plurality of data packets, eachdata packet including a plurality of data words, the number of datawords in a data packet determining the size of the data packet, thesignal processing and control means for the mobile or static signalprocessing interface means operating in the receiving mode beingoperative to receive and examine the data words in each transmitted datapacket for error to determine which data words are acceptable and totransmit an acknowledgement signal for each acceptable data word to thetransmitting mobile or static signal processing interface means, thesignal processing and control means for the transmitting mobile orstatic signal processing interface means operating to receive anddetermine the frequency of error in said received data packets from saidacknowlegment signals and to adjust the size of subsequent data packetsto be transmitted in accordance with said error frequency.
 17. Thecellular telephone data communication system of claim 16 wherein thesignal processing and control means for the transmitting mobile orstatic signal processing interface means operates to control the size ofsubsequent data packets inversely to the error frequency detectedthereby.
 18. A data processing interface for operation in a transmittingmode for transmitting data from a data source over a cellular telephonesystem to a receiving means via a cellular telephone radio carriersignal comprising processing and control means connected to receive datafrom said data source, said processing and control means operating toform said data into a data signal format to be transmitted as a datasignal, said data signal format including a plurality of data packets,each said data packet including a number of data and control words, thenumber of words in a data packet determining the size of the datapacket, each said data packet including an error control correction dataformat having at least one acknowledgement section, the acknowledgementsection adapted to be retransmitted by said receiving means as anacknowledgment signal when an acceptable data packet is received by saidreceiving means, and modem means connected to said processing andcontrol means to receive said data signal therefrom, said modem meansbeing operable to modulate said cellular telephone radio carrier signalwith said data signal and to provide said modulated signal to saidcellular telephone system, said modem means receiving the acknowledgmentsignals transmitted by the receiving means and operating to provide suchacknowledgment signals to said processing and control means, theprocessing and control means determining from said acknowledgmentsignals the frequency of error in the received data packets andadjusting the size of subsequent data packets in the data signal inaccordance with said error frequency.
 19. The data processing interfaceof claim 18 wherein said processing and control means determines fromthe acknowledgment signals which data packets were received withunacceptable errors and provides said data packets to said modem meansfor retransmission by said cellular telephone system.
 20. The dataprocessing interface of claim 19 wherein said modem means operateswithout a scrambler polynomial, said processing and control meansoperating to continuously change the data signal to providesynchronization for said modem means.
 21. The data processing interfaceof claim 19 wherein said modem means operates without a scramblerpolynomial, said processing and control means operating in response to abreak in the data from said data source to repetitively provide a uniquedata byte to said modem means for the duration of said break in thedata.
 22. The data processing interface of claim 19 wherein said modemmeans is operative to disconnect from said cellular telephone system inresponse to a disconnect signal and inoperative to disconnect inresponse to a loss of a cellular telephone radio carrier signal, saidprocessing and control means operating to provide a disconnect signal tosaid modem means when a delay period subsequent to a loss of saidcellular radio carrier signal has elapsed without the resumption of saidcellular telephone carrier radio signal.
 23. The data processinginterface of claim 22 which is operative in a receiving mode to receivea data signal transmitted by said cellular telephone system, said modemmeans receiving the data signal from said cellular telephone system andproviding said data signal to said processing and control means, theprocessing and control means operating to examine the data words in eachreceived data packet for error to identify acceptable data words andproviding an acknowledgment signal to said cellular telephone system foreach acceptable data word, the processing and control means operating toremove the error control correction data format from said data section.24. The data processing interface of claim 23 wherein said modem meansoperates without a scrambler polynomial, said processing and controlmeans operating to continuously change said data signal to providesynchronization for said modem means.
 25. The data processing interfaceof claim 24 wherein said processing and control means operates inresponse to a break in the data from said data source to repetitivelyprovide a unique data byte to said modem means for the duration of thebreak in said data.
 26. A cellular computer data transmission interfacedevice for allowing a portable computer having a conventional dataoutput terminal to operate a mobile cellular telephone having a cellulartransceiver linked via radio signals to a cellular system in response tobus-compatible control signals generated by a control unit in responseto direct operator input and supplied to the cellular transceiver over abus directly connected to the control unit and the cellular transceiver,comprising: (a) receiving means for receiving instructions from theportable computer, (b) processing means connected with said receivingmeans for interpreting the instructions received from the portablecomputer and for generating cellular transceiver control signals inresponse to said portable computer generated instructions, (c)transmitting means connected with said processing means for receivingsaid cellular transceiver control signals, generating bus-compatiblesignals from said control signals, and for transmitting said buscompatible signals to the bus through a connection between thetransmitting means and the bus to cause the cellular transceiver toplace a cellular telephone network call.
 27. The device of claim 26wherein the receiving means for receiving instructions from the portablecomputer comprises a serial data interface.
 28. The device of claim 26wherein the transmitting means comprises an eight-bit parallelinput/output cellular interface.
 29. A cellular telephone datatransmission interface device comprising interface means to connect to acellular radiotelephone bus sensing means connected to the interfacemeans for sensing digital cellular telephone control signals on controllines of the cellular bus, control signal generating means connected tothe interface means for generating digital cellular telephone controlsignals and transmitting said digital cellular telephone control signalsto the control lines of the cellular bus, and processing means connectedto the sensing means and to the control signal generating means forreceiving and evaluating the digital cellular telephone control signalssensed by the sensing means, wherein the processing means compares thesensed digital cellular telephone control signals to expected digitalcellular telephone control signal values incorporated in said processingmeans and selects a first mode of operation of the control signalgenerating means enabling data transmission when the sensed digitalcellular telephone control signals correspond to the expected digitalcellular telephone control signal values and selects a second mode ofoperation of the control signal generating means if said sensed digitalcellular telephone control signals do not correspond to said expecteddigital cellular telephone control signal values.
 30. A cellulartelephone data transmission interface device for use with a mobilecellular telephone of the type that has a cellular transceiver linkedvia radio signals to a cellular system in response to control signalsgenerated by a control unit and supplied to the cellular transceiverover a bus directly connected to the control unit and the cellulartransceiver, which allows an analog signaling device external to themobile cellular telephone to transmit data signals to or receive datasignals from the cellular transceiver using the cellular bus, so thatthe analog signaling device may transmit or receive data signals usingthe cellular system, comprising: (a) bus interface means for connectingexternal devices to the cellular bus so that said external devices maytransmit signals to or receive signals from the cellular transceiver,(b) switching means for selectably connecting one or more externaldevices to the bus interface means with at least one of said externaldevices being the external analog signaling device, and (c) controlmeans for selectively controlling the operation of the switching meansto connect the external analog signaling device to the bus interfacemeans.
 31. The device of claim 30 wherein the control means controls theoperation of the switching means in response to a program internal tothe device.
 32. The device of claim 30 further comprising a computerinterface means for receiving instructions from a portable computer,said interface means connected to the control means, wherein the controlmeans controls the operation of the switching means in response to saidreceived instructions.
 33. The device of claim 30 wherein the switchingmeans is an analog switch.
 34. The device of claim 30 wherein theexternal analog signaling device is a modem.
 35. A system fortransferring data over a radio telephone network when directly connectedto a radio telephone network access device for allowing external controlof the radio telephone network access device, comprising: computer meansfor providing and receiving data signals; modem means operably connectedto the computer means for modulating data signals received from saidcomputer means for transmission over a radio telephone network accessdevice and for demodulating data signals received from the radiotelephone network access device for transmission to the computer means;interface means connected between said modem means and the radiotelephone network access device for transmitting data signals to andreceiving data signals from the radio telephone network access device,said interface means providing parallel lines for connection to saidradio telephone network access device, said lines including a datatransmit line for transmitting data signals from said modem means to theradio telephone network access device, a data receive line fortransmitting data signals from the radio telephone network access deviceto said modem means, and plural control lines for providing digitalcontrol signals to the radio telephone network access device to controlthe operation of the device.
 36. A system as defined in claim 35,including a control means connected to said computer means, saidinterface means, and said modem means for controlling the radiotelephone network access device to establish a telephone communicationlink and to enable data signal transmission over the radio telephonenetwork.
 37. The data transmission interface device of claim 26 whereinsaid receiving means further comprises data transfer means fortransferring digital data between the portable computer and the cellulartransceiver for transmission over the cellular transceiver to a remotestation.
 38. The data transmission interface device of claim 37 furthercomprising modem means operably connected to the data transfer means andthe cellular transceiver for modulating data signals received from theportable computer for transmission over the cellular transceiver to theremote station and for demodulating data signals received from the radiotelephone network access device for transmission to the computer means.39. The system of claim 35 wherein the modem means modulates a voiceband carrier using data signals received from said computer means fortransmission over the radio telephone network access device anddemodulates voice band data signals received from the radio telephonenetwork access device for transmission to the computer means.